將資料新增至資料庫中,在SQL語法中新增資料除了使用insert還需加上into,所以會是insert into ,然後後面通常還會加一個values,所以當要新增資料時基本上會insert into values 的,不過有種情形會不需要加上values的,下面會說明。
在VALUES內,若是要新增字串則需將內容用單引號'包住,數值則不用,如下:
INSERT INTO 資料表名稱
(欄位1, 欄位2, 欄位3,...)
VALUES (新增至欄位1的數值資料, N'新增進欄位2的字串資料', N'新增進欄位3的字串資料',...)
想要在Customers資料表中加入新的資料。
INSERT INTO Customers
(name, tel, address)
VALUES (N'olympus', 333, 'Japan')
資料前面之所以有N是因為Unicode的關係(在這篇有做nvarchar的介紹),當然也可以不打N,而因為在創立資料表時就有設定會自動新增id和initDate,所以只需要手動加入name, tel, address欄位,執行後結果真的有加入olympus的資料進客戶資料表,而系統自動新增了id=6。
首先選好要新增的資料庫,然後再新增查詢空白處,右鍵選編輯器中新增查詢。
選好要新增的資料表後,在查詢設計工具的視窗空白處右鍵變更類型然後選擇插入值,插入值就是新增資料的意思。
接下來就勾選想新增的欄位,並在下方新值中打上想要新增的資料內容,在正下方就會自動出現新增資料的SQL語法了。
接下來'確定'後再按'執行'就可以加入資料了。
使用精靈取得SQL語法真的超方便der>///<
新增資料除了加入新的資料外,也可以新增現有的資料,也就是其他資料表(或本身的資料表)若剛好有需要的資料,也可以從該資料表中取得,這種時候就不需要VALUES了。
就以Customers資料表跟Products資料表為範例:
Customers資料表
除了賣零食也賣起了canon的Products資料表 XDD
現在要新增資料進Customers資料表內,name是canon,就是那麼剛好Products資料表有canon這筆資料,tel剛好是30000,雖然沒有地址資料但至少可以新增兩筆。所以SQL語法如下:
INSERT INTO Customers
(name, tel)
select name,price from Products where id=6
上述使用一個select子查詢,找出來自Products資料表內的name和price的資料(注意要對應()內的順序),條件是id=6的資料(也就是Products的canon那列資料行)。找出後加入CUstomers資料表的name和tel也就是()內的資料。結果如下:
id=8有一筆canon的客戶資料了,雖然沒有address的資料,但name和tel都有從產品資料表加入資料了。(id=8是因為我有刪除一筆id=7的資料><)
這就是使用子查詢的方式將資料表的資料加入需要加入的資料表內的方法,好像有點饒舌XD